package com.sssre.business.domain;

import com.sssre.common.annotation.Excel;
import com.sssre.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 服务项对象 bus_service_item
 *
 * @author 浪兎兎
 * @date 2025-04-28
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BusServiceItem extends BaseEntity {
    private static final long serialVersionUID = 1L;

    //是套餐
    public static final Integer YES = 1;
    //不是套餐
    public static final Integer NO = 0;

    // 审核初始化
    public static final Integer AUDIT_STATUS_INIT = 0;
    // 审核中
    public static final Integer AUDIT_STATUS_PERFORM = 1;
    // 审核同意
    public static final Integer AUDIT_STATUS_PASS = 2;
    // 审核拒绝
    public static final Integer AUDIT_STATUS_REFUSE = 3;
    // 无需审核
    public static final Integer WHTHOUT_AUDIT_STATUS = 4;

    private Long id;

    /**
     * 服务项名称
     */
    @NotNull(message = "服务项名称不能为空")
    @NotBlank(message = "服务项名称不能为空")
    @Excel(name = "服务项名称")
    private String name;

    /**
     * 服务项原价
     */
    @NotNull(message = "服务项原价不能为空")
    @Excel(name = "服务项原价")
    private BigDecimal originalPrice;

    /**
     * 服务项折扣价
     */
    @NotNull(message = "服务项折扣价不能为空")
    @Excel(name = "服务项折扣价")
    private BigDecimal discountPrice;

    /**
     * 是否套餐
     */
    @NotNull(message = "套餐类型不能为空")
    @Excel(name = "是否套餐")
    private Integer carPackage;

    /**
     * 备注信息
     */
//    @NotNull(message = "备注信息不能为空")
    @Excel(name = "备注信息")
    private String info;

    /**
     * 服务分类
     */
    @NotNull(message = "服务分类不能为空")
    @Max(value = 2, message = "分类错误")
    @Min(value = 0, message = "分类错误")
    @Excel(name = "服务分类")
    private Integer serviceCatalog;

    /**
     * 审核状态
     */
    @Excel(name = "审核状态")
    private Integer auditStatus;

    /**
     * 上架状态
     */
    @Excel(name = "上架状态")
    private Integer saleStatus;

}
